/*
- Malt Project - list.hpp
- This document is protected by the GPL protocol.
- Writer:@Index-Flandre
*/

#ifndef MALT_LIST_H
#define MALT_LIST_H

#include "./node.hpp"

namespace malt
{
struct List : public BoxObject
{
	Node *first, *last;

	virtual bool eq(Object *obj);
	void repl_print();
	
	Object *car();
	Object *cdr();
	Object *to_last();
	void append(Object *obj);
};
Object *NewList();
}

#endif